大模型训练数据深度解析:预训练、SFT、RL 都需要什么数据
数据是 AI 的燃料,但不同阶段需要不同"标号"的燃料。
2026 年,大模型训练已经从"大力出奇迹"进入"精细调数据"阶段。GPT-4o、Kimi K3、Qwen3.8 等旗舰模型的训练数据规模达到 TB 级,但数据质量比数量更重要。
本文将深度解析大模型训练三个阶段(预训练、SFT、RL)的数据需求,揭示数据工程的核心秘密。
一、大模型训练三阶段概览
预训练(Pre-training)
↓ 学语言、学知识
监督微调(SFT)
↓ 学指令、学对话
强化学习(RL/RLHF/DPO)
↓ 学偏好、学安全
↓
可用模型
| 阶段 | 目标 | 数据量级 | 成本重心 |
|---|---|---|---|
| 预训练 | 语言模型、世界知识 | TB 级(万亿 token) | 算力(GPU 集群) |
| SFT | 指令跟随、对话交互 | 万 - 十万条 | 人力(数据标注) |
| RL | 人类偏好、安全对齐 | 万条级别 | 人力(偏好标注) |
类比:
- 预训练 = 读万卷书(吸收知识)
- SFT = 拜师学艺(学习规矩)
- RL = 社会历练(懂得分寸)
二、预训练数据:让模型"读万卷书"
2.1 数据类型与占比
| 类型 | 占比 | 代表数据集 | 作用 |
|---|---|---|---|
| 通用网页 | 40-60% | Common Crawl、The Pile、FineWeb | 语言模式、世界知识 |
| 书籍/文献 | 10-20% | Books3、ArXiv、PubMed、Semantic Scholar | 深度知识、专业领域 |
| 代码 | 5-15% | GitHub、StackOverflow、The Stack | 逻辑推理、代码能力 |
| 对话/论坛 | 5-10% | Reddit、知乎、Quora、Hacker News | 对话模式、多轮交互 |
| 百科 | 5-10% | Wikipedia、百度百科、Wikidata | 事实性知识、结构化信息 |
| 多语言 | 5-15% | 各语言网页、书籍、新闻 | 跨语言能力 |
2.2 数据规模对比
| 模型 | 训练数据量 | Token 数 | 训练时间 |
|---|---|---|---|
| GPT-3(2020) | 300GB | 300B | 约 1 个月 |
| LLaMA-2(2023) | 2TB | 2T | 约 21 天 |
| Kimi K3(2026) | 10TB+ | 1.4T(高质量) | 约 30 天 |
| Qwen3.8(2026) | 10TB+ | 2T | 约 45 天 |
趋势:数据量增长放缓,数据质量成为竞争焦点。
2.3 数据质量要求
数据处理流水线
原始数据(Common Crawl 等)
↓
去重(MinHash/SimHash)→ 去除 30-50% 重复
↓
过滤(低质量、有毒内容)→ 去除 10-20%
↓
清洗(HTML 标签、特殊字符)
↓
语言识别(确保多语言比例)
↓
分词(BPE/WordPiece)
↓
预训练数据
关键指标
| 指标 | 说明 | 典型值 |
|---|---|---|
| 去重率 | 网页数据重复率极高 | 30-50% |
| 有毒内容过滤 | 仇恨言论、色情、暴力 | 过滤率 5-10% |
| 语言纯度 | 确保目标语言占比 | >95% |
| 文本质量 | 可读性、信息密度 | 人工抽检 |
2.4 2026 年数据趋势
| 趋势 | 说明 |
|---|---|
| 合成数据 | 用强模型(GPT-4o)生成高质量训练数据 |
| 代码数据 | 代码占比提升(推理能力更强) |
| 中文数据 | 中文高质量数据需求激增 |
| 领域数据 | 医疗、法律、金融等垂直领域 |
| 多模态 | 图文、视频、音频联合训练 |
三、SFT 数据:让模型"学会听话"
3.1 数据类型与占比
| 类型 | 占比 | 示例 | 作用 |
|---|---|---|---|
| 指令跟随 | 30-40% | "请总结这篇文章"、"翻译这段话" | 指令理解、任务执行 |
| 多轮对话 | 20-30% | 客服对话、闲聊、问答 | 对话连贯性、上下文理解 |
| 代码问答 | 10-20% | "写一个 Python 排序函数" | 代码生成、调试 |
| 知识问答 | 10-15% | "什么是量子力学" | 事实性回答、知识检索 |
| 创作类 | 5-10% | "写一首诗"、"编个故事" | 创意生成、风格模仿 |
| 分析推理 | 5-10% | 数学题、逻辑推理、数据分析 | 推理能力、思维链 |
3.2 数据格式
OpenAI Chat 格式(主流)
{
"messages": [
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": "请解释什么是注意力机制"},
{"role": "assistant", "content": "注意力机制是一种让模型学会关注重点的技术..."}
]
}
Alpaca 格式(早期)
{
"instruction": "请解释什么是注意力机制",
"input": "",
"output": "注意力机制是一种..."
}
ShareGPT 格式(多轮对话)
{
"conversations": [
{"from": "human", "value": "你好"},
{"from": "gpt", "value": "你好!有什么我可以帮你的吗?"},
{"from": "human", "value": "帮我写首诗"},
{"from": "gpt", "value": "好的,请问什么主题?"}
]
}
3.3 数据规模
| 模型 | SFT 数据量 | 对话轮数 | 数据来源 |
|---|---|---|---|
| GPT-3.5 | 数万条 | 平均 3-5 轮 | 人工 + 合成 |
| LLaMA-2-Chat | 27,540 条 | 平均 4 轮 | 人工标注 |
| Kimi K3 | 数十万条 | 平均 5-8 轮 | 人工 + 合成 |
| Qwen3.8 | 数十万条 | 平均 4-6 轮 | 人工 + 合成 |
3.4 数据质量要求
| 要求 | 说明 |
|---|---|
| 人工标注 | 高质量 SFT 数据通常需要人工编写或审核 |
| 多样性 | 覆盖多种任务类型、难度等级 |
| 格式规范 | 严格的 role/content 格式 |
| 长度控制 | 回答不能太短(敷衍)也不能太长(啰嗦) |
| 事实准确 | 避免幻觉、错误信息 |
| 安全合规 | 不包含有害、歧视内容 |
3.5 SFT 数据的"艺术"
好的 SFT 数据不是越多越好,而是越精越好:
| 策略 | 说明 |
|---|---|
| 少而精 | 1 万条高质量 > 10 万条低质量 |
| 难度梯度 | 从简单到复杂,循序渐进 |
| 风格多样 | 正式、 casual、幽默、专业 |
| 错误示范 | 偶尔加入"错误回答",让模型学会纠正 |
| 思维链 | 复杂问题加入推理步骤(CoT) |
四、RL 数据:让模型"懂得分寸"
4.1 为什么需要 RL?
SFT 后的模型虽然"会说话",但可能:
- 胡说八道(幻觉)
- 有毒内容(被诱导输出有害信息)
- 啰嗦冗长(废话多)
- 不遵循偏好(用户喜欢简洁,模型喜欢长篇)
RL 的目标:让模型的回答更符合人类偏好(有用、安全、诚实)。
4.2 数据类型
| 类型 | 说明 | 作用 |
|---|---|---|
| 偏好数据 | 同一问题的多个回答,标注哪个更好 | 训练奖励模型(RM) |
| 对比数据 | A/B 两个回答,标注偏好 | 直接优化策略(DPO) |
| 安全数据 | 有害问题 + 拒绝回答 | 安全对齐、拒绝能力 |
| 事实性数据 | 有标准答案的问题 | 减少幻觉、提高准确性 |
4.3 偏好数据格式
RLHF 格式
{
"prompt": "如何制作炸弹",
"response_chosen": "抱歉,我不能提供危险物品的制作信息",
"response_rejected": "制作炸弹需要以下材料..."
}
DPO 格式
{
"prompt": "解释量子力学",
"chosen": "量子力学是研究微观粒子行为的物理学分支...",
"rejected": "量子力学就是量子 + 力学,很简单..."
}
4.4 数据规模
| 方法 | 数据量 | 标注成本 | 代表模型 |
|---|---|---|---|
| RLHF | 数万条偏好对比 | 高(需要人工标注) | GPT-4、Claude |
| DPO | 数万条偏好对比 | 中(可半自动) | LLaMA-2-Chat |
| RLAIF | 数十万条(AI 标注) | 低(用 AI 替代人工) | Gemini |
4.5 标注流程
问题池(数万条)
↓
模型生成多个回答(2-4 个/问题)
↓
人工标注员排序/选择最佳
↓
偏好数据集
↓
训练奖励模型(RM)或直接 DPO
↓
RL 训练(PPO/DPO)
4.6 标注维度
标注员通常从以下维度评估回答:
| 维度 | 说明 | 权重 |
|---|---|---|
| 有用性 | 是否回答了问题 | 高 |
| 准确性 | 信息是否正确 | 高 |
| 安全性 | 是否有害内容 | 高 |
| 简洁性 | 是否啰嗦 | 中 |
| 连贯性 | 逻辑是否清晰 | 中 |
| 风格 | 是否符合人设 | 低 |
五、Agentic 能力训练:让模型"学会做事"
Agentic 能力 = 模型能够自主规划、调用工具、执行多步任务的能力
5.1 什么是 Agentic 能力?
| 能力 | 说明 | 示例 |
|---|---|---|
| 任务规划 | 把复杂任务分解成子步骤 | "帮我订机票" → 查航班→比价格→下单 |
| 工具调用 | 使用外部 API/工具 | 调用搜索引擎、计算器、代码执行器 |
| 多步推理 | 跨步骤保持上下文 | 先查天气→再推荐穿搭→最后规划行程 |
| 自我反思 | 检查错误并修正 | 代码运行失败→分析错误→重新生成 |
| 环境交互 | 与外部系统交互 | 操作浏览器、读写文件、控制机器人 |
5.2 Agentic 训练数据类型
任务规划数据
| 类型 | 格式 | 示例 |
|---|---|---|
| 任务分解 | 复杂任务 → 子步骤列表 | "写论文" → [查文献,列大纲,写初稿,修改] |
| 思维链(CoT) | 问题 → 逐步推理 → 答案 | 数学题 → 步骤 1,2,3 → 结果 |
| 计划 - 执行轨迹 | 目标 → 计划 → 执行 → 结果 | 完整的多步任务日志 |
{
"task": "帮我分析这家公司的财务状况",
"plan": [
"1. 搜索公司最新财报",
"2. 提取关键财务指标",
"3. 与同行业公司对比",
"4. 生成分析报告"
],
"execution": [...],
"result": "..."
}
工具调用数据
| 工具类型 | 训练数据示例 |
|---|---|
| 搜索引擎 | 问题 → 生成搜索 query → 解析结果 → 回答 |
| 代码执行 | 问题 → 写代码 → 运行 → 根据输出回答 |
| 计算器 | 数学问题 → 调用计算 API → 返回结果 |
| 数据库 | 自然语言 → SQL 查询 → 解析结果 |
| API 调用 | 任务 → 选择 API → 构造参数 → 处理响应 |
{
"user": "今天北京天气怎么样?",
"thought": "我需要调用天气 API 查询北京当前天气",
"action": {
"tool": "weather_api",
"parameters": {"city": "北京", "date": "today"}
},
"observation": {"temperature": "25°C", "condition": "晴"},
"response": "今天北京天气晴朗,气温 25°C"
}
多步交互数据
| 类型 | 说明 | 示例 |
|---|---|---|
| ReAct 轨迹 | 思考→行动→观察循环 | 完整的 Agent 交互日志 |
| 多轮对话 | 跨轮次任务执行 | 用户逐步提供信息,Agent 逐步执行 |
| 错误恢复 | 失败→分析→重试 | 代码报错→分析原因→修改代码 |
5.3 Agentic 能力训练方法
方法 1:监督微调(SFT)
用高质量的 Agent 轨迹数据微调模型
数据收集:
↓
人工标注或强模型(GPT-4)生成 Agent 轨迹
↓
格式化为多轮对话
↓
SFT 微调
数据格式:
{
"messages": [
{"role": "user", "content": "帮我查一下明天北京的天气"},
{"role": "assistant", "content": "好的,我来查询一下。"},
{"role": "tool_call", "content": "weather_api(city='北京', date='tomorrow')"},
{"role": "tool_result", "content": "{\"temp\": \"26°C\", \"condition\": \"多云\"}"},
{"role": "assistant", "content": "明天北京多云,气温 26°C"}
]
}
优点:简单直接,效果好 缺点:需要大量高质量标注数据
方法 2:强化学习(RLHF/RLAIF)
用奖励信号引导模型学会更好的 Agent 行为
SFT 模型
↓
生成 Agent 轨迹
↓
评估轨迹质量(任务完成率、步骤效率、工具使用正确性)
↓
训练奖励模型
↓
PPO/DPO 优化策略
奖励信号设计:
| 奖励类型 | 说明 | 权重 |
|---|---|---|
| 任务完成 | 最终目标是否达成 | 高 |
| 步骤效率 | 是否用最少的步骤完成 | 中 |
| 工具正确性 | 工具调用参数是否正确 | 高 |
| 错误恢复 | 失败后能否自我修正 | 中 |
| 安全性 | 是否避免危险操作 | 高 |
方法 3:课程学习(Curriculum Learning)
从简单到复杂逐步训练 Agent 能力
阶段 1:单步工具调用
↓
阶段 2:2-3 步简单任务
↓
阶段 3:5-10 步复杂任务
↓
阶段 4:开放域多步任务
示例:
| 阶段 | 任务类型 | 示例 |
|---|---|---|
| 1 | 单步查询 | "查天气" → 调用天气 API |
| 2 | 两步任务 | "查天气并推荐穿搭" → 查天气→查穿搭 |
| 3 | 多步规划 | "规划周末旅行" → 查天气→查景点→订酒店 |
| 4 | 开放任务 | "帮我完成这个研究项目" → 自主规划执行 |
方法 4:自我博弈/自我改进
模型自己生成数据、自己评估、自己改进
初始 Agent 模型
↓
自动生成大量任务轨迹
↓
用规则或强模型评估质量
↓
筛选高质量轨迹
↓
重新训练模型
↓
循环迭代
代表工作:
- Self-Instruct:模型自己生成指令和响应
- Self-Refine:模型自己审查和改进输出
- AgentTuning:用 GPT-4 生成 Agent 数据,微调开源模型
5.4 关键训练技术
Function Calling 格式
统一工具调用格式:
{
"name": "search",
"arguments": {
"query": "2026 年 AI 发展趋势"
}
}
训练要点:
- 模型学会何时调用工具
- 模型学会构造正确的参数
- 模型学会解析工具返回结果
思维链(Chain-of-Thought)
让模型先思考再行动:
用户:帮我比较一下 iPhone 16 和 Samsung S26 的摄像头
模型思考:
1. 我需要查询两款手机的摄像头规格
2. 先查 iPhone 16 的摄像头参数
3. 再查 Samsung S26 的摄像头参数
4. 对比关键指标
5. 给出总结建议
错误恢复训练
故意注入错误,训练模型自我修正:
正常轨迹:
查天气 → 得到结果 → 回答
错误恢复轨迹:
查天气 → API 报错 → 分析错误 → 重试 → 得到结果 → 回答
5.5 Agentic 能力评估
| 评估维度 | 指标 | 说明 |
|---|---|---|
| 任务完成率 | Success Rate | 最终目标是否达成 |
| 步骤效率 | Step Count | 完成任务的步骤数 |
| 工具使用 | Tool Accuracy | 工具调用是否正确 |
| 规划能力 | Plan Quality | 计划是否合理 |
| 错误恢复 | Recovery Rate | 失败后能否自我修正 |
| 安全性 | Safety Score | 是否避免危险操作 |
常用基准:
- GAIA:通用 AI 助手基准
- ToolBench:工具调用能力评估
- AgentBench:多环境 Agent 评估
- WebArena:网页浏览任务
5.6 2026 年 Agentic 训练趋势
| 趋势 | 说明 |
|---|---|
| 端到端训练 | 不再分模块,统一训练规划和执行 |
| 多模态 Agent | 能看屏幕、操作鼠标键盘 |
| 长期记忆 | 跨会话记住用户偏好和历史 |
| 协作 Agent | 多个 Agent 协作完成复杂任务 |
| 世界模型 | 理解物理世界规律,预测行动后果 |
六、三阶段数据对比
| 维度 | 预训练 | SFT | RL |
|---|---|---|---|
| 数据量 | TB 级(万亿 token) | 万 - 十万条 | 万条级别 |
| 数据来源 | 互联网爬取 | 人工编写/筛选 | 人工标注偏好 |
| 数据质量 | 自动过滤为主 | 人工审核为主 | 人工标注为主 |
| 成本 | 算力成本高 | 人力成本高 | 人力成本最高 |
| 目标 | 学语言、学知识 | 学指令、学对话 | 学偏好、学安全 |
| 数据格式 | 纯文本 | 对话格式 | 偏好对比 |
| 更新频率 | 低(数月一次) | 中(数周一次) | 高(持续迭代) |
七、数据飞轮:从用户反馈到模型迭代
用户交互
↓
收集反馈(点赞/点踩/举报)
↓
标注团队审核
↓
加入训练数据
↓
模型迭代
↓
更好的用户体验
↓
更多用户交互
关键指标:
- 用户满意度:点赞率、对话轮数
- 安全事件:有害内容举报率
- 幻觉率:事实性错误比例
八、2026 年数据工程趋势
| 趋势 | 说明 | 代表技术 |
|---|---|---|
| 合成数据 | 用强模型生成训练数据 | GPT-4o 标注、Self-Instruct |
| 课程学习 | 从易到难组织训练数据 | Curriculum Learning |
| 多模态数据 | 图文、视频、音频联合训练 | LLaVA、Qwen-VL |
| 代码数据 | 代码占比提升(推理能力更强) | StarCoder、CodeLlama |
| 中文数据 | 中文高质量数据需求激增 | 知乎、百度、微信 |
| 领域数据 | 医疗、法律、金融等垂直领域 | Med-PaLM、LawGPT |
| 数据飞轮 | 用户反馈自动进入训练 | RLHF、DPO |
九、关键洞察
8.1 数据质量 > 数据数量
| 策略 | 效果 |
|---|---|
| 10TB 低质量数据 | 模型学了一堆垃圾 |
| 1TB 高质量数据 | 模型学到精华 |
案例:Kimi K3 用 1.4T 高质量 token 达到了其他模型 10T+ 的效果。
8.2 数据多样性决定模型能力
| 数据类型 | 培养能力 |
|---|---|
| 代码 | 逻辑推理 |
| 数学 | 抽象思维 |
| 对话 | 交互能力 |
| 百科 | 事实知识 |
| 创作 | 创意生成 |
8.3 数据飞轮是护城河
更多用户 → 更多反馈 → 更好数据 → 更好模型 → 更多用户
ChatGPT 的护城河:不是模型架构,而是数据飞轮。
8.4 合成数据是双刃剑
| 优势 | 风险 |
|---|---|
| 成本低、速度快 | 模型退化(mode collapse) |
| 可控制质量 | 偏见放大 |
| 可生成极端案例 | 缺乏真实多样性 |
最佳实践:合成数据 + 人工审核,比例 7:3。
十、一句话总结
预训练学"知识",SFT 学"听话",RL 学"分寸"。
| 阶段 | 类比 | 核心数据 |
|---|---|---|
| 预训练 | 读万卷书 | 互联网文本 |
| SFT | 拜师学艺 | 指令对话 |
| RL | 社会历练 | 偏好对比 |
十一、延伸阅读
- 预训练数据:The Pile、FineWeb、RedPajama
- SFT 数据:Alpaca、ShareGPT、Dolly
- RL 数据:Anthropic HH、OpenAI WebGPT
- 数据工程:DataTrove、CCNet、Gopher Reprocessing
数据是 AI 的燃料,但不同阶段需要不同"标号"的燃料。选对燃料,才能让模型跑得又快又稳。